/**
 * @file   1024.cpp
 * @author Shuang Hu <hsmath@ubuntu>
 * @date   Thu Apr 29 22:45:37 2021
 * 
 * @brief  PAT problem 1024:Palindromic!
 * 
 * 
 */
#include<iostream>
#include<string>
#include<queue>
using namespace std;
bool check(string s);
string calc(string s);
int main(){
    string s;
    int k;
    cin>>s>>k;
    int times=k;
    for(int i=0;i<k;i++){
	if(check(s)==true){
	    times=i;
	    break;
	}
	s=calc(s);
    }
    cout<<s<<endl;
    cout<<times<<endl;
}
bool check(string s){
    for(int i=0;i<s.length();i++){
	if(s[i]!=s[s.length()-1-i]){
	    return false;
	}
    }
    return true;
}
string calc(string s){
    string invers;
    for(int i=0;i<s.length();i++){
	invers.push_back(s[s.length()-1-i]);
    }
    bool isjinwei=false;
    queue<int> result;
    for(int i=s.length()-1;i>=0;i--){
	int d;
	d=s[i]-'0'+invers[i]-'0';
	if(isjinwei==true){
	    d++;
	}
	if(d>=10){
	    d-=10;
	    isjinwei=true;
	}else{
	    isjinwei=false;
	}
	result.push(d);
    }
    if(isjinwei==true){
	result.push(1);
    }
    string rets;
    while(result.empty()==false){
	char c;
	c='0'+result.front();
	rets.push_back(c);
	result.pop();
    }
    string trueret;
    for(int i=rets.size()-1;i>=0;i--){
	trueret.push_back(rets[i]);
    }
    return trueret;
}
